package itsm.isperp.framework.data.excel.validate;

import java.util.Date;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

/**
 * 日期验证器
 * 
 * @author lizx
 * @date 2013-5-5
 * @date 使用正则式判断
 */
public class DateValidatator extends AbstractValidator {

	public String processValidate(Map<String, Object> params) {
		Object dateValue = getFieldValue();
		// 空日期忽略
		 if (dateValue == null || dateValue instanceof Date) {
		 return OK;
		 }
		// 简单正则式判断
		if (dateValue == null) {
			return OK;
		}
		if (StringUtils.isEmpty(dateValue.toString().trim())) {
			return OK;
		}
		if (dateValue instanceof Date) {
			return OK;
		}
		if (dateValue.toString().matches("\\d{4}-\\d{1,2}-\\d{1,2}")
				|| dateValue.toString().matches("\\d{4}.\\d{1,2}.\\d{1,2}")
				|| dateValue.toString().matches("\\d{4}/\\d{1,2}/\\d{1,2}")
				|| dateValue.toString().matches("\\d{4}\\d{1,2}\\d{1,2}")) {
			return OK;
		}
		return getCellRef() + " :  请填入正确的日期格式!";
	}
}
